package cn.wolfcode.wolf2w.redis.service;



import cn.wolfcode.wolf2w.redis.vo.StrategyStatisVO;

import java.util.List;

/**
 * 统计对象的服务接口
 */
public interface IStrategyStatisVORedisService {

    /**
     * 阅读数+1
     * @param sid
     * @param num
     */
    void viewnumIncrease(String sid, int num);

    /**
     * 获取vo对象
     * @param sid
     * @return
     */
    StrategyStatisVO getStrategyStatisVo(String sid);

    /**
     * 设置vo对象
     * @param vo
     */
    void setStrategyStatisVo(StrategyStatisVO vo);

    /**
     * 评论数+1
     * @param sid
     * @param num
     */
    void replynumIncrease(String sid, int num);

    /**
     * 用户攻略收藏操作
     * @param sid
     * @param uid
     * @return true: 表示收藏操作, false: 表示取消收藏操作
     */
    boolean favor(String sid, String uid);

    /**
     * 用户攻略id收集集合
     * @param userId
     * @return
     */
    List<String> getUserStrategyFavor(String userId);

    /**
     * 用户顶逻辑
     * @param sid
     * @param uid
     * @return true: 表示顶成功操作, false: 表示今天顶过操作
     */
    boolean strategyThumbup(String sid, String uid);

    /**
     * 判断指定vokey是否存在redis中
     * @param id
     * @return true: 存在, false: 不存
     */
    boolean isStrategyVoExists(String id);

    /**
     * 通过key的规则查询所有vo对象
     * @param pattern
     * @return
     */
    List<StrategyStatisVO> queryStrategyVoByPattern(String pattern);
}
